═══ 1. Disclaimer ═══ Copyright 1993 by Kim Kruse Hansen. All rights reserved. Commercial distribution and/or use is prohibited without written consent by the author. Becase WPS2Rexx/2 is licensed absolutely free of charge , we provide no warranty. Except when otherwise stated in writing the author provide WPS2Rexx/2 "as is" without warranty of any kind, either expressed or implied, including , but not limited to , the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of WPS2Rexx/2 , and the accuracy of its associated documentation is with you. Should WPS2Rexx/2 or its associated documenation prove defective, you assume the cost of all necessary servicing , repair or correction. In no event will Kim Kruse Hansen be responsible in any way for the behaviour of WPS2Rexx/2. In no event will Kim Kruse Hansen and or any other party who may redistribute WPS2Rexx/2 as permitted above, be liable to you for damages, including lost profits or other special ,incidental or consequental damages arising out of the use or inability to use (including but not limitied to loss of data or data being rendered inaccurate or losses sustained by third parties or a failure of the program to operate with any other programs) WPS2Rexx2, even if Kim Kruse Hansen has been advised of the possibility of such damages , or for any claim by another party. ═══ 2. Introduction ═══ WPS2Rexx/2 WPS2Rexx is a program designed to ease the backup of the WorkPlace Shell component of Os/2 2.x. It allows you to save the contents of your WorkPlace to a Rexx script. The Rexx script can be used to regenerate your WorkPlace objects in case of disaster. It can also be used on a corporate basis to standardize WorkPlace's. It will also enable you to save the icons to separate .ICO files. Unlike many other similar products on the market WPS2Rexx/2 uses only official WorkPlace API to obtain the information it needs. Therefore the program should continue to run in the future whether or not IBM decides to change the layout of the Os/2 .INI files. The program was developed and is being maintained by Kim Kruse Hansen Denmark. If you have suggestions and or questions please feel free to contact me. I can be reached at the following address Kim Kruse Hansen Vestergade 133 B 1,4 8600 Silkeborg Denmark If you are a member of the international Fido network you can get in touch with me using NetMail. My Fido network adress is : 2:234/100.13. New version of this program will be available for download at my FidoNet Boss Node : The Jam BBS , 2:234/100 , 45-31420291. .* ═══ 3. Installation ═══ WPS2Rexx/2 is supplied in a ZIP called WPS2Rexx. It should contain the following files : WPS2Rexx.Inf - The documentation WPS2Rexx.W51 - Documentation in WordPerfect 5.1 format WPS2Rexx.Dll - The actual WorkPlace object WPS2Inst.Cmd - Installation Script To install WPS2Rexx/2 just type WPS2Inst from any Os/2 prompt. A couple of moments later you should see a new Object entitled "WPSRexx/2" on your desktop. Please refer to the how to section on how to proceed from here ═══ 4. How to ═══ If you used the supplied installation program WPS2Inst.Cmd , you should have a new object on your desktop entitled "WPS2Rexx/2". If you dont have this object on your desktop please refer to the installation section. The WPS2Rexx object is subclassed from the standard folder object. The only visual difference is a new menuitem on its popup menu "Rexx Script". Click on "Rexx Script" and follow the onscreen information. You should now be looking at a dialogue looking something like this : Mode specifies what to do if the objects exist on the desktop. Fail Object creation fails Replace Deletes old object and creates a new one Update Update settings of old object Generate specifies the structure of the Rexx script Tree Rexx files chain in other Rexx files to create subfolders Flat Each folder just generates itself and nothing else Other options Save icons Allows you to save every ICON on your desktop into a .ICO file. SingleStep Walk the desktop tree and be prompted for every folder traversed. Workdir Specifies where all your Rexx files and Icons will be placed. The master Rexx script is called WPS.CMD. Here is an example of what it may look like. /* This file was generated by WPS2Rexx/2 V 1.0 (c) 1993 Kim K. Hansen */ Call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs' call SysLoadFuncs ObjMode = "Replace" Call Fldr0.Cmd ObjMode/* Folder : Desktop */ /* End Of Script */ Each folder has its own script file, which are called Fldr#.Cmd. /* This file was generated by WPS2Rexx/2 V 1.0 (c) 1993 Kim K. Hansen */ /*Dump of Folder : Desktop*/Parse arg ObjMode If ObjMode = "" then ObjMode = "fail" Location = "" Title = "WPS2Rexx/2" Class = "WPS2Rexx" /* FldrattrContents = 304004 */ /* FldrattrDetails = 308028 */ /* FldrattrHelp = 0000 */ /* FldrattrTree = 504044 */ SetupString = "NOPRINT=YES;" SetupString = SetupString || "OBJECTID=;" SetupString = SetupString || "HELPPANEL=1277;" SetupString = SetupString || "DETAILSVIEW=MINI;" SetupString = SetupString || "TREEVIEW=LINES;" SetupString = SetupString || "DETAILSFONT=8.Helv;" SetupString = SetupString || "TREEFONT=14.System;" Call MakeObj Location = "" Title = "Test backup" Class = "WPProgram" SetupString = "NOPRINT=YES;" SetupString = SetupString || "HELPPANEL=8009;" SetupString = SetupString || "PROGTYPE=FULLSCREEN;" SetupString = SetupString || "EXENAME=C:\CHKBACK.CMD;" Call MakeObj Location = "" Title = "IBM WorkFrame/2" Class = "WPProgram" SetupString = "NOTDEFAULTICON=YES;" SetupString = SetupString || "NOPRINT=YES;" SetupString = SetupString || "HELPPANEL=4083;" SetupString = SetupString || "PROGTYPE=WINDOWABLEVIO;" SetupString = SetupString || "EXENAME=D:\IBMWF\BIN\WFENV.CMD;" SetupString = SetupString || "STARTUPDIR=D:\IBMWF;" Call MakeObj Location = "" Title = "Latter" Class = "WPProgram" SetupString = "NOPRINT=YES;" SetupString = SetupString || "HELPPANEL=8009;" SetupString = SetupString || "PROGTYPE=WINDOWABLEVIO;" SetupString = SetupString || "EXENAME=D:\MMOS2\SOUNDS\LATTER.CMD;" Call MakeObj Location = "" Title = "Volume^" Class = "WPProgram" SetupString = "NOTDEFAULTICON=YES;" SetupString = SetupString || "NOPRINT=YES;" SetupString = SetupString || "HELPPANEL=4083;" SetupString = SetupString || "PROGTYPE=PM;" SetupString = SetupString || "EXENAME=D:\MMOS2\AMPM.EXE;" SetupString = SetupString || "STARTUPDIR=D:\MMOS2;" Call MakeObj Location = "" Title = "OS/2 Full Screen:1" Class = "WPProgram" SetupString = "NOPRINT=YES;" SetupString = SetupString || "HELPPANEL=8009;" SetupString = SetupString || "PROGTYPE=FULLSCREEN;" SetupString = SetupString || "EXENAME=*;" Call MakeObj Location = "" Title = "OS/2 Full Screen:2" Class = "WPProgram" SetupString = "NOPRINT=YES;" SetupString = SetupString || "OBJECTID=;" SetupString = SetupString || "HELPPANEL=8009;" SetupString = SetupString || "PROGTYPE=FULLSCREEN;" SetupString = SetupString || "EXENAME=*;" Call MakeObj Location = "" Title = "HexPrint" Class = "WPProgram" SetupString = "NOPRINT=YES;" SetupString = SetupString || "HELPPANEL=4083;" SetupString = SetupString || "PROGTYPE=WINDOWABLEVIO;" SetupString = SetupString || "EXENAME=X:\UTIL\GAMMATECH\SEDIT.EXE;" Call MakeObj Location = "" Title = "PMSEARCH" Class = "WPProgram" SetupString = "NOTDEFAULTICON=YES;" SetupString = SetupString || "NOPRINT=YES;" SetupString = SetupString || "HELPPANEL=8010;" SetupString = SetupString || "PROGTYPE=PM;" SetupString = SetupString || "EXENAME=X:\PSTOOLS\PMSRCH.EXE;" Call MakeObj Location = "" Title = "WP51" Class = "WPProgram" SetupString = "NOPRINT=YES;" SetupString = SetupString || "HELPPANEL=8010;" SetupString = SetupString || "PROGTYPE=WINDOWEDVDM;" SetupString = SetupString || "EXENAME=J:\JBKAU\WP51\WP.EXE;" SetupString = SetupString || "PARAMETERS=/d_C:\TEKST;" SetupString = SetupString || "STARTUPDIR=C:\TEKST;" Call MakeObj Location = "" Title = "ADU" Class = "WPProgram" SetupString = "NOTDEFAULTICON=YES;" SetupString = SetupString || "NOPRINT=YES;" SetupString = SetupString || "HELPPANEL=8010;" SetupString = SetupString || "PROGTYPE=WINDOWABLEVIO;" SetupString = SetupString || "EXENAME=X:\UTIL\ADU.EXE;" Call MakeObj Location = "" Title = "TE/2" Class = "WPProgram" SetupString = "NOTDEFAULTICON=YES;" SetupString = SetupString || "NOPRINT=YES;" SetupString = SetupString || "HELPPANEL=4083;" SetupString = SetupString || "PROGTYPE=WINDOWABLEVIO;" SetupString = SetupString || "EXENAME=L:\TOOLS\TE2123\TE2LE.CMD;" SetupString = SetupString || "STARTUPDIR=L:\TOOLS\TE2123;" Call MakeObj Location = "" Title = "Drive A" Class = "WPShadow" SetupString = "NOPRINT=YES;" SetupString = SetupString || "HELPPANEL=8014;" SetupString = SetupString || "ICONRESOURCE=44^,C:\OS2\DLL\PMWP.DLL;" SetupString = SetupString || "SHADOWID=2537E;" Call MakeObj Location = "" Title = "Master Help Index" Class = "Mindex" SetupString = "NODELETE=YES;" SetupString = SetupString || "NOPRINT=YES;" SetupString = SetupString || "OBJECTID=;" SetupString = SetupString || "HELPPANEL=14302;" SetupString = SetupString || "ICONRESOURCE=1^,C:\OS2\DLL\MINXMRI.DLL;" Call MakeObj Location = "" Title = "Shredder" Class = "WPShredder" SetupString = "NOCOPY=YES;" SetupString = SetupString || "NODELETE=YES;" SetupString = SetupString || "NOPRINT=YES;" SetupString = SetupString || "OBJECTID=;" SetupString = SetupString || "HELPPANEL=1190;" SetupString = SetupString || "ICONRESOURCE=28^,C:\OS2\DLL\PMWP.DLL;" Call MakeObj Location = "" Title = "Start Here" Class = "WPProgram" SetupString = "NOTDEFAULTICON=YES;" SetupString = SetupString || "NOPRINT=YES;" SetupString = SetupString || "OBJECTID=;" SetupString = SetupString || "HELPPANEL=9278;" SetupString = SetupString || "PROGTYPE=PM;" SetupString = SetupString || "EXENAME=STHR.EXE;" SetupString = SetupString || "STARTUPDIR=C:\OS2\HELP;" Call MakeObj Location = "" Title = "Windows Programs" Class = "WPFolder" /* FldrattrContents = 300004 */ /* FldrattrDetails = 308028 */ /* FldrattrHelp = 0000 */ /* FldrattrTree = 500044 */ SetupString = "NOPRINT=YES;" SetupString = SetupString || "OBJECTID=;" SetupString = SetupString || "HELPPANEL=1277;" SetupString = SetupString || "DETAILSVIEW=MINI;" SetupString = SetupString || "TREEVIEW=LINES;" SetupString = SetupString || "DETAILSFONT=8.Helv;" SetupString = SetupString || "TREEFONT=14.System;" Call MakeObj Location = "" Title = "U P M Services" Class = "WPProgramGroup" /* FldrattrContents = 300004 */ /* FldrattrDetails = 308028 */ /* FldrattrHelp = 0000 */ /* FldrattrTree = 500044 */ SetupString = "NOPRINT=YES;" SetupString = SetupString || "OBJECTID=;" SetupString = SetupString || "HELPPANEL=1277;" SetupString = SetupString || "ICONRESOURCE=53^,C:\OS2\DLL\PMWP.DLL;" SetupString = SetupString || "DETAILSVIEW=MINI;" SetupString = SetupString || "TREEVIEW=LINES;" SetupString = SetupString || "DETAILSFONT=8.Helv;" SetupString = SetupString || "TREEFONT=14.System;" Call MakeObj Location = "" Title = "Templates" Class = "WPTemplates" /* FldrattrContents = 300004 */ /* FldrattrDetails = 308028 */ /* FldrattrHelp = 0000 *//* FldrattrTree = 500044 */ SetupString = "NOCOPY=YES;" SetupString = SetupString || "NODELETE=YES;" SetupString = SetupString || "NOPRINT=YES;" SetupString = SetupString || "OBJECTID=;" SetupString = SetupString || "HELPPANEL=15680;" SetupString = SetupString || "ICONRESOURCE=48^,C:\OS2\DLL\PMWP.DLL;" SetupString = SetupString || "DETAILSVIEW=MINI;" SetupString = SetupString || "TREEVIEW=LINES;" SetupString = SetupString || "DETAILSFONT=8.Helv;" SetupString = SetupString || "TREEFONT=14.System;" Call MakeObj Location = "" Title = "OS/2 System" Class = "WPFolder" /* FldrattrContents = 300004 */ /* FldrattrDetails = 308028 */ /* FldrattrHelp = 0000 */ /* FldrattrTree = 500044 */ SetupString = "NOTDEFAULTICON=YES;" SetupString = SetupString || "NODELETE=YES;" SetupString = SetupString || "NOPRINT=YES;" SetupString = SetupString || "OBJECTID=;" SetupString = SetupString || "HELPPANEL=4002;" SetupString = SetupString || "DETAILSVIEW=MINI;" SetupString = SetupString || "TREEVIEW=LINES;" SetupString = SetupString || "DETAILSFONT=8.Helv;" SetupString = SetupString || "TREEFONT=14.System;" Call MakeObj Location = "" Title = "OS/2 Programs" Class = "WPFolder" /* FldrattrContents = 300004 */ /* FldrattrDetails = 308028 */ /* FldrattrHelp = 0000 */ /* FldrattrTree = 500044 */ SetupString = "NOPRINT=YES;" SetupString = SetupString || "OBJECTID=;" SetupString = SetupString || "HELPPANEL=1277;" SetupString = SetupString || "DETAILSVIEW=MINI;" SetupString = SetupString || "TREEVIEW=LINES;" SetupString = SetupString || "DETAILSFONT=8.Helv;" SetupString = SetupString || "TREEFONT=14.System;" Call MakeObj Location = "" Title = "Network" Class = "WPNetwork" /* FldrattrContents = 300004 */ /* FldrattrDetails = 308028 */ /* FldrattrHelp = 0000 */ /* FldrattrTree = 500044 */ SetupString = "NOCOPY=YES;" SetupString = SetupString || "NODELETE=YES;" SetupString = SetupString || "NOPRINT=YES;" SetupString = SetupString || "OBJECTID=;" SetupString = SetupString || "HELPPANEL=30000;" SetupString = SetupString || "ICONRESOURCE=33^,C:\OS2\DLL\PMWP.DLL;" SetupString = SetupString || "DETAILSVIEW=MINI;" SetupString = SetupString || "TREEVIEW=LINES;" SetupString = SetupString || "DETAILSFONT=8.Helv;" SetupString = SetupString || "TREEFONT=14.System;" Call MakeObj Location = "" Title = "Multimedia" Class = "WPFolder" /* FldrattrContents = 300004 */ /* FldrattrDetails = 308028 */ /* FldrattrHelp = 0000 */ /* FldrattrTree = 500044 */SetupString = "NOTDEFAULTICON=YES;" SetupString = SetupString || "NOPRINT=YES;" SetupString = SetupString || "OBJECTID=;" SetupString = SetupString || "HELPPANEL=1277;" SetupString = SetupString || "DETAILSVIEW=MINI;" SetupString = SetupString || "TREEVIEW=LINES;" SetupString = SetupString || "DETAILSFONT=8.Helv;" SetupString = SetupString || "TREEFONT=14.System;" Call MakeObj Location = "" Title = "Min. Wind. Viewer^" Class = "WPMinWinViewer" /* FldrattrContents = 300004 */ /* FldrattrDetails = 308028 */ /* FldrattrHelp = 0000 */ /* FldrattrTree = 500044 */ SetupString = "NOCOPY=YES;" SetupString = SetupString || "NODELETE=YES;" SetupString = SetupString || "NOPRINT=YES;" SetupString = SetupString || "OBJECTID=;" SetupString = SetupString || "HELPPANEL=9286;" SetupString = SetupString || "ICONRESOURCE=58^,C:\OS2\DLL\PMWP.DLL;" SetupString = SetupString || "DETAILSVIEW=MINI;" SetupString = SetupString || "TREEVIEW=LINES;" SetupString = SetupString || "DETAILSFONT=8.Helv;" SetupString = SetupString || "TREEFONT=14.System;" Call MakeObj Location = "" Title = "Information" Class = "WPFolder" /* FldrattrContents = 300004 */ /* FldrattrDetails = 308028 */ /* FldrattrHelp = 0000 */ /* FldrattrTree = 500044 */ SetupString = "NOTDEFAULTICON=YES;" SetupString = SetupString || "NOPRINT=YES;" SetupString = SetupString || "OBJECTID=;" SetupString = SetupString || "HELPPANEL=13092;" SetupString = SetupString || "DETAILSVIEW=MINI;" SetupString = SetupString || "TREEVIEW=LINES;" SetupString = SetupString || "DETAILSFONT=8.Helv;" SetupString = SetupString || "TREEFONT=14.System;" Call MakeObj Location = "" Title = "IBM WorkFr. Help" Class = "WPProgramGroup" /* FldrattrContents = 300004 */ /* FldrattrDetails = 308028 */ /* FldrattrHelp = 0000 */ /* FldrattrTree = 500044 */ SetupString = "NOPRINT=YES;" SetupString = SetupString || "OBJECTID=;" SetupString = SetupString || "HELPPANEL=1277;" SetupString = SetupString || "ICONRESOURCE=53^,C:\OS2\DLL\PMWP.DLL;" SetupString = SetupString || "DETAILSVIEW=MINI;" SetupString = SetupString || "TREEVIEW=LINES;" SetupString = SetupString || "DETAILSFONT=8.Helv;" SetupString = SetupString || "TREEFONT=14.System;" Call MakeObj Location = "" Title = "HP4" Class = "WPProgramGroup" /* FldrattrContents = 300004 */ /* FldrattrDetails = 308028 */ /* FldrattrHelp = 0000 */ /* FldrattrTree = 500044 */ SetupString = "NOPRINT=YES;" SetupString = SetupString || "OBJECTID=;" SetupString = SetupString || "HELPPANEL=1277;"SetupString = SetupString || "ICONRESOURCE=53^,C:\OS2\DLL\PMWP.DLL;" SetupString = SetupString || "DETAILSVIEW=MINI;" SetupString = SetupString || "TREEVIEW=LINES;" SetupString = SetupString || "DETAILSFONT=8.Helv;" SetupString = SetupString || "TREEFONT=14.System;" Call MakeObj Location = "" Title = "FFST/2" Class = "WPProgramGroup" /* FldrattrContents = 300004 */ /* FldrattrDetails = 308028 */ /* FldrattrHelp = 0000 */ /* FldrattrTree = 500044 */ SetupString = "NOPRINT=YES;" SetupString = SetupString || "OBJECTID=;" SetupString = SetupString || "HELPPANEL=1277;" SetupString = SetupString || "ICONRESOURCE=53^,C:\OS2\DLL\PMWP.DLL;" SetupString = SetupString || "DETAILSVIEW=MINI;" SetupString = SetupString || "TREEVIEW=LINES;" SetupString = SetupString || "DETAILSFONT=8.Helv;" SetupString = SetupString || "TREEFONT=14.System;" Call MakeObj Location = "" Title = "Ekstra nummer" Class = "WPFolder" /* FldrattrContents = 300004 */ /* FldrattrDetails = 308028 */ /* FldrattrHelp = 0000 */ /* FldrattrTree = 500044 */ SetupString = "NOPRINT=YES;" SetupString = SetupString || "HELPPANEL=1277;" SetupString = SetupString || "DETAILSVIEW=MINI;" SetupString = SetupString || "TREEVIEW=LINES;" SetupString = SetupString || "DETAILSFONT=8.Helv;" SetupString = SetupString || "TREEFONT=14.System;" Call MakeObj Location = "" Title = "Commun. Manager/2" Class = "WPProgramGroup" /* FldrattrContents = 300004 */ /* FldrattrDetails = 308028 */ /* FldrattrHelp = 0000 */ /* FldrattrTree = 500044 */ SetupString = "NOPRINT=YES;" SetupString = SetupString || "OBJECTID=;" SetupString = SetupString || "HELPPANEL=1277;" SetupString = SetupString || "ICONRESOURCE=53^,C:\OS2\DLL\PMWP.DLL;" SetupString = SetupString || "DETAILSVIEW=MINI;" SetupString = SetupString || "TREEVIEW=LINES;" SetupString = SetupString || "DETAILSFONT=8.Helv;" SetupString = SetupString || "TREEFONT=14.System;" Call MakeObj /* --- end of objects in folder --- */ /* Creation of subfolders */ Call Fldr1.Cmd ObjMode/* Folder : "WPS2Rexx/2" */ Call Fldr2.Cmd ObjMode/* Folder : "Windows Programs" */ Call Fldr3.Cmd ObjMode/* Folder : "U P M Services" */ Call Fldr4.Cmd ObjMode/* Folder : "Templates" */ Call Fldr5.Cmd ObjMode/* Folder : "OS/2 System" */ Call Fldr6.Cmd ObjMode/* Folder : "OS/2 Programs" */ Call Fldr7.Cmd ObjMode/* Folder : "Network" */ Call Fldr8.Cmd ObjMode/* Folder : "Multimedia" */ Call Fldr9.Cmd ObjMode/* Folder : "Information" */ Call Fldr10.Cmd ObjMode/* Folder : "IBM WorkFr. Help" */ Call Fldr11.Cmd ObjMode/* Folder : "HP4" */ Call Fldr12.Cmd ObjMode/* Folder : "FFST/2" */ Call Fldr13.Cmd ObjMode/* Folder : "Ekstra nummer" */Call Fldr14.Cmd ObjMode/* Folder : "Commun. Manager/2" */ return MakeObj: Say Copies("─",75) Say 'Creating 'Title' at 'location' as 'Class rc = 0 rc = SysCreateObject(Class,Title,Location,SetupString,ObjMode) if rc then do Say "SysCreateObject returned "rc end return ═══ 5. Future plans ═══ I have no definite plans for further development of WPS2Rexx/2 at the moment. ═══ 6. Other info ═══ The documentation to WPS2Rexx/2 was written entirely in WordPerfect 5.1 and converted to INF format by another of the authors programs WP2IPF/2. This program is also freeware and is available around the world on various networks and BBS's. Look for a file called WP2IPF2.ZIP. I have supplied the documentation in WP 5.1 format , so that you can see how to structure a WP document , that can be converted to an Os/2 2.x INF file.